<?php
    class Empleados extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}

	//funcion para guardar un nuevo empleado
	function new_empleado($datos)
	{
            parent::conectar();
            $this->obj_con->StartTrans();
            $record["idempleado"]   =   strtoupper($datos[0]);
            $record["idrol"]        =   $datos[1];
            $record["nick_emp"]     =   trim($datos[2]);
            $record["password_emp"] =   trim(md5($datos[3]));
            $record["nombre_emp"]   =   trim(strtoupper($datos[4]));
            $record["apellido_emp"] =   trim(strtoupper($datos[5]));
            $record["activo_emp"]   =   'true';
	    $new_empleado           =   $this->obj_con->AutoExecute("ts_empleado", $record, 'INSERT');
            $this->obj_con->CompleteTrans();
            
            if($new_empleado)
            {
                return true."&&"."LOS NUEVOS DATOS SE GUARDARON";
            }
            else
            {
		return false."&&".$this->obj_con->ErrorMsg();
            }
            parent::desconectar();
	}

	//funcion para actualizar los datos de un empleado
	function update_empleado($datos,$idempleado)
	{
            parent::conectar();
            $this->obj_con->StartTrans();
            $record["nick_emp"]     =   trim($datos[0]);
            $record["nombre_emp"]   =   trim(strtoupper($datos[1]));
            $record["apellido_emp"] =   trim(strtoupper($datos[2]));
            $record["activo_emp"]   =   $datos[3];
            $update_empleado        =   $this->obj_con->AutoExecute("ts_empleado", $record, "UPDATE","idempleado = '".$idempleado."'");
            $this->obj_con->CompleteTrans();
            
            if($update_empleado)
            {
                return true."&&"."LOS DATOS DEL EMPLEADO SELECCIONADO SE ACTUALIZARON";
            }
            else
            {
		return false."&&".$this->obj_con->ErrorMsg();
            }
            parent::desconectar();
	}

	//funcion para eliminar un bien
	function delete_empleado($idempleado)
	{
            parent::conectar();
            $this->obj_con->StartTrans();
            $record["activo_emp"]   =   "FALSE";
            $update_empleado        =   $this->obj_con->AutoExecute("ts_empleado", $record, "UPDATE","idempleado = '".$idempleado."'");
            $this->obj_con->CompleteTrans();
            
            if($update_empleado)
            {
                return true."&&"."EL EMPLEADO SELECCIONADO SE INHABILITO PARA EL SISTEMA.";
            }
            else
            {
		return false."&&".$this->obj_con->ErrorMsg();
            }
            parent::desconectar();
	}
        
        function update_clave($pass_old, $pass_new, $idempleado)
	{
            parent::conectar();
            
            
            if(md5(trim($pass_old)) <> $this->get_campo_empleado("idempleado = '".$idempleado."'", "password_emp"))
            {
                return "1";
            }
            else
            {
                $record["password_emp"]     =   md5($pass_new);
                $update_empleado_pass       =   $this->obj_con->AutoExecute("ts_empleado", $record, "UPDATE", "idempleado = '".$idempleado."'");

                if($update_empleado_pass)
                {
                    return "2";
                }
                else
                {
                    return "3";
                }
            }

	}

        function login($nick,$pass)
	{
            parent::conectar();

            $pass_md5       =   md5(addslashes($pass));
            $nick           =   addslashes($nick);
            $consulta       =   "select * from ts_empleado where nick_emp = '$nick' and password_emp = '$pass_md5' and activo_emp = 't'";
            $record         =   $this->obj_con->Execute($consulta);
            $verificar      =   $record->RecordCount();
            $idempleado     =   $record->fields["idempleado"];
            $idrol          =   $record->fields["idrol"];
            $nombre_emp     =   $record->fields["nombre_empleado"];
            $apellido_emp   =   $record->fields["apellido_empleado"];
            
            if($verificar>0)
            {
		$this->create_session($idempleado,$idrol,$nombre_emp,$apellido_emp);
                return true;
            }
            else
            {
		session_destroy();
		return false;
            }
            parent::desconectar();
    	}

	function create_session($idempleado,$idrol,$nombre_emp,$apellido_emp)
	{
            $_SESSION["idempleado"]     =       $idempleado;
            $_SESSION["idrol"]          =       $idrol;
            $_SESSION["apellido_emp"]   =       $apellido_emp;
            $_SESSION["nombre_emp"]     =       $nombre_emp;
            $_SESSION["bandera"]        =       true;
        }


	function ingreso_sistema()
	{
            parent::conectar();

            $idempleado=$_SESSION["cod_usu"];
            $record["idempleado"]=$idempleado;
	    $new_ingreso = $this->obj_con->AutoExecute("insumos.sis_historico", $record, 'INSERT');
            
            parent::desconectar();
	}


        function get_nombre_empleado($idemp)
	{
            parent::conectar();

            $consulta_name  =   "select upper(nombre_emp) as nombre_empleado,upper(apellido_emp) as apellido_empleado from ts_empleado where idempleado='".$idemp."'";
            $recordset_all  =   $this->obj_con->Execute($consulta_name);

            while (!$recordset_all->EOF)
            {
                $nombre_emp     =   $recordset_all->fields['nombre_empleado'];
		$apellido_emp   =   $recordset_all->fields['apellido_empleado'];
		$recordset_all->MoveNext();
            }
            
            parent::desconectar();
            
            return $nombre_emp." ".$apellido_emp;
        }
        
        
        function get_campo_empleado($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from ts_empleado where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);

            return  $record_consulta[$get_campo];
        }
        
    }//cerrar la clase


?>